package com.maxd.modules.coupon.service;

import com.maxd.error.Result;
import com.maxd.modules.coupon.entity.CouponCard;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * @Auther: Laban:yubo_010@163.com
 * @Date: 2020/11/12 15:40
 * @Description:
 */
public interface CouponCardService {

    /**
     * 分页查询所有卡券 列表
     */
    Result findAll(CouponCard couponCardFrom, Pageable pageable);

    /**
     * 保存卡券
     */
    void save(CouponCard couponCard);

    /**
     * 兑换卡券功能
     * 根据cardId修改userId
     */
    void updateCouponCardByCardId(java.util.Date exchangeTime,String cardId,String userId);

    /**
     * 根据卡券ID查询卡券使用状态
     */
    CouponCard getCouponCardByCardId(String cardId);

    /**
     * 不分页查询所有卡券 列表
     */
    List<CouponCard> findAllNoPage(CouponCard couponCardFrom);

    /**
     * 删除多个卡券
     */
    void deleteByIdList(String ids);


    /**
     * 删除单个卡券 根据id
     * @param id
     */
    void deleteById(Long id);

    /**
     * 查询某个用户的所有卡券
     */
    List<CouponCard> findAllByUserId(String userId);
}
